<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Code for displaying language selection
 *
 * @version $Id: display_select_lang.lib.php 11449 2008-08-01 19:00:36Z lem9 $
 */
if (! defined('PHPMYADMIN')) {
	exit;
}

/**
 * Sorts available languages by their true english names
 *
 * @param   array   the array to be sorted
 * @param   mixed   a required parameter
 * @return  the sorted array
 * @access  private
 */
function PMA_language_cmp(&$a, &$b) {
	return (strcmp($a[1], $b[1]));
} // end of the 'PMA_language_cmp()' function

/**
 * Displays for for language selection
 *
 * @access  public
 */
function PMA_select_language($use_fieldset = FALSE, $show_doc = TRUE) {
	global $cfg, $lang;
	?>

<form method="post" action="index.php" target="_parent">
	<?php
	if (isset($GLOBALS['collation_connection'])) {
		echo '			<input type="hidden" name="collation_connection" value="'
			. htmlspecialchars($GLOBALS['collation_connection']) . '" />' . "\n";
	}
	if (isset($GLOBALS['convcharset'])) {
		echo '			<input type="hidden" name="convcharset" value="'
			. htmlspecialchars($GLOBALS['convcharset']) . '" />' . "\n";
	}
	if (strlen($GLOBALS['db'])) {
		echo '			<input type="hidden" name="db" value="'
			. htmlspecialchars($GLOBALS['db']) . '" />' . "\n";
	}
	if (strlen($GLOBALS['table'])) {
		echo '			<input type="hidden" name="table" value="'
			. htmlspecialchars($GLOBALS['table']) . '" />' . "\n";
	}
	if (isset($GLOBALS['server'])) {
		echo '			<input type="hidden" name="server" value="'
			. ((int)$GLOBALS['server']) . '" />' . "\n";
	}

	// For non-English, display "Language" with emphasis because it's
	// not a proper word in the current language; we show it to help
	// people recognize the dialog
	$language_title = $GLOBALS['strLanguage'] . ($GLOBALS['strLanguage'] != 'Language' ? ' - <em>Language</em>' : '');
	if ($show_doc) {
	   $language_title .= ' <a href="./translators.html" target="documentation">' .
			($cfg['ReplaceHelpImg'] ?
				'<img class="icon" src="' . $GLOBALS['pmaThemeImage'] . 'b_info.png" width="11" height="11" alt="Info" />' :
				'(*)') . '</a>';
	}
	if ($use_fieldset) {
		echo '<fieldset><legend xml:lang="en" dir="ltr">' . $language_title . '</legend>';
	} else {
		echo '<bdo xml:lang="en" dir="ltr">' . $language_title . ':</bdo>';
	}
	?>

	<select name="lang" onchange="this.form.submit();" xml:lang="en" dir="ltr">
	<?php

	uasort($GLOBALS['available_languages'], 'PMA_language_cmp');
	foreach ($GLOBALS['available_languages'] AS $id => $tmplang) {
		$lang_name = ucfirst(substr(strrchr($tmplang[0], '|'), 1));

		// Include native name if non empty
		if (!empty($tmplang[3])) {
			$lang_name = $tmplang[3] . ' - '
				. $lang_name;
		}

		// Include charset if it makes sense
		if (!defined('PMA_REMOVED_NON_UTF_8')) {
			$lang_name .= ' (' . substr($id, strpos($id, '-') + 1) . ')';
		}

		//Is current one active?
		if ($lang == $id) {
			$selected = ' selected="selected"';
		} else {
			$selected = '';
		}

		echo '		';
		echo '<option value="' . $id . '"' . $selected . '>' . $lang_name
			. '</option>' . "\n";
	}
	?>

	</select>
	<?php
	if ($use_fieldset) {
		echo '</fieldset>';
	}
	?>

	<noscript>
	<?php
	if ($use_fieldset) {
		echo '<fieldset class="tblFooters">';
	}
	?>

		<input type="submit" value="Go" />
	<?php
	if ($use_fieldset) {
		echo '</fieldset>';
	}
	?>

	</noscript>
</form>
	<?php
} // End of function PMA_select_language
?>
